#include <iostream>
#include <vector>

using namespace std;

void bubbleSort(vector<int> &arr){
    bool swapped;
    //第一轮循环：已排好的元素位置
    for(int j=arr.size()-1;j>0;--j){
        swapped=false;
        //第二轮循环：一次确定一个最大的元素
        for(int i=0;i<j;++i){
            if(arr[i]>arr[i+1]){
                swap(arr[i],arr[i+1]);
                swapped=true;
            }
        }
        //若某一轮没有交换元素，说明已有序
        if(swapped==false){
            return;
        }
    }
}

void test(){
    vector<int> arr={9,8,7,6,5,4,3,2,1};
    bubbleSort(arr);
    for(auto &elem:arr){
        cout << elem << " " << endl;
    }
}

int main()
{
    test();
    return 0;
}

